Este recurso é a chave para fazer sites responsivos, ou seja, que adequam o layout da página de acordo com o tamanho da tela.
Por exemplo, se estou exibindo a página num micro posso querer uma fonte grande mas numa tela de celular devo escolher uma fonte menor.
Tipos de mídias (Midia Types):
Tipo Dispositivo |
Utilização |
all |
todos os dispositivos |
aural |
sintetizadores de voz |
braille |
leitores de Braille |
embossed |
impressoras de Braille |
handheld |
dispositivos de mão. Por exemplo: celulares com telas pequenas. |
print |
impressoras convencionais |
projection |
apresentações de slides |
screen |
telas coloridas |
tty |
teleimpressoras e terminais |
tv |
televisores |
Exemplo de uso : <link rel="stylesheet" media="print" href="print.css">
Exemplos de resolução de telas:
Resolução (pixels) |
Aparelho |
320 |
Smartphones no modo retrato |
480 |
Smartphones no modo paisagem |
600 |
Tablets pequenos. Ex.: Amazon Kindle (600px x 800px) |
768 |
Tablets maiores no modo retrato. Ex.: IPad (768px x 1024px) |
1024 |
Tablets maiores no moto paisagem e monitores mais antigos |
1200 |
Monitores tipo wide |
Limites Responsivos(Responsive Breakpoints):
São limites que o bootstrap utiliza para caracterizar oo tamanho da tela (largura) de um tipo de dispositivo.
// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }
// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }
// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }
// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }
Importante : A altura da tela não é considerada porque no bootstrap como ele é mobile first ele detemina que haverá uma tela de scroll vertical.
Veja :
Documentação
Alinhamento responsivo
Este recurso define como o texto deve ser exibido dependendo da largura da tela.
Sigla |
Utilização (menor ou igual a xxx pixels) |
sm |
576 |
md |
768 |
lg |
992 |
xl |
1200 |
Layout responsivo é a capacidade de formatar os elementos da página de acordo com a capacidade do browser em exibí-los.
Importante :
1 - O bootstrap utiliza a metodologia Mobile-First, ou seja, sempre dá prioridade a formatação em dispositivos móveis.
Por esse motivo ao simplesmente aplicar o bootstrap numa página ele fica com um formato muito diferente, pronto para o celular praticamente.
2 - A css tem papel fundamental neste design. Todos os media queries estão na css.
3-Neste exemplo alteramos apenas a tag h1 (Layout Responsivo) e a cor de fundo do body.
Antes de entrarmos nos detalhes das media-queries convém explicar seu nível superior - os media-types.
Media Types: São os tipos de media que utilizamos para exibir o documento html.
Eles determinam o formato geral do documento, os limites da media mas não em detalhes do documento.
O media-types podem ser :
all – todos os dispositivos
aural – sintetizadores de voz
braille – leitores de Braille
embossed – impressoras de Braille
handheld – dispositivos de móveis ou de mão. Por exemplo: celulares com telas pequenas.
print – impressoras convencionais
projection - apresentações de slides
screen- telas coloridas
tty - teleimpressoras e terminais
tv- televisores
Exemplo de uso :
<link rel="stylesheet" media="print" href="print.css">
Portanto, o bootstrap antes de formatar os media-queries formata os media-types para que, por exemplo, o documento possa ser impresso ou visto corretamente.
O media-type default do bootstrap é o screen que adota a seguinte resolução de telas:
320 pixels - Smartphones no modo retrato
480 pixels - Smartphones no modo paisagem
600 pixels - Tablets pequenos. Ex.: Amazon Kindle (600px x 800px)
768 pixels - Tablets maiores no modo retrato. Ex.: IPad (768px x 1024px)
1024 pixels - Tablets maiores no moto paisagem e monitores mais antigos.
1200 pixels - Monitores tipo wide.
Note que o media-querie é ativado quando entramos no modo a que ele define a formatação.
Portanto ao exibir um documento ele primeiramente aplica o formato para aquele padrão na montagem da página.
Ao redimensionarmos a tela, por exemplo, ao aumentarmos a tela de 100 a 319 pixels nada acontece mas ao atingir a largura de 320 px um novo estilo é aplicado.
Portanto, o correto seria afirmar que existe um range para aplicação do media-querie.
Se existe uma definição para aquele formato, ele aplica, senão permanece o anteriormente aplicado.
Portanto, definimos um range de atuação para o media querie.
Veja um exemplo:
@media (min-width: 992px) and (max-width: 1199.98px) {
h1 {
font-size: 5em;
}
}
Portanto, qando a tela tiver de 992px até 1200px a fonte será aumentada para 5em.
Para que o efeito ficasse mais claro, resolvi aplicar cor difentes no background para cada formato.